package com.uzai.console.entity;

import com.uzai.common.entity.BaseEntity;

/**
 * 设备报警规则
 *
 * @author chenshun
 * @email sunlightcs@gmail.com
 * @date 2021-10-18 18:03:47
 */
public class AlarmRule extends BaseEntity {

    private static final long serialVersionUID = -7625847792741453933L;

    /**
     * 运营商id
     */
    private Long merId;

    /**
     * 设备类型(个人微信:private_wechat；企业微信:work_wechat; 公众号:wx_pub; APP用户:app)
     */
    private String deviceType;

    /**
     * 规则名称
     */
    private String name;
    /**
     * 客户端退出(0-忽视；1-报警)
     */
    private Integer clientOut;
    /**
     * 微信退出(0-忽视；1-报警)
     */
    private Integer wechatOut;
    /**
     * 微信假死(0-忽视；1-报警)
     */
    private Integer wechatDead;

    /**
     * 设备产品过期(0-忽视；1-报警)
     */
    private Integer productExpired;

    /**
     * 软件产品将要到期提醒时间（单位：天）
     */
    private Integer productExpiredTime;

    /**
     * 手机电量报警(0-忽视；1-报警)
     */
    private Integer mobileBattery;

    /**
     * 手机电量报警值(百分比，默认为20%)
     */
    private Integer mobileBatteryEnergy;

    /**
     * 规则内容(JSON数组格式)
     */
    private String ruleInfo;
    /**
     * 通道沉默周期(5-5分钟；10-10分钟；15-15分钟；30-30分钟；60-60分钟；180-3小时；360-6小时；720-12小时；1440-24小时)
     */
    private Integer silentPeriod;
    /**
     * 生效开始时间(00:00)
     */
    private String startTime;
    /**
     * 生效结束时间(23:59)
     */
    private String endTime;
    /**
     * 报警联系人id(支持多选，JSON格式)
     */
    private String alarmContacterIds;
    /**
     * 短信报警渠道（0-否；1-是）
     */
    private Integer alarmTypeMessage;
    /**
     * 邮箱报警渠道（0-否；1-是）
     */
    private Integer alarmTypeMail;
    /**
     * 悠哉公众号报警渠道（0-否；1-是）
     */
    private Integer alarmTypeWxpub;
    /**
     * 钉钉报警渠道（0-否；1-是）
     */
    private Integer alarmTypeDingding;

    /**
     * 钉钉是否@所有人（0-否；1-是）
     */
    private Integer alarmTypeDingdingAll;

    /**
     * 状态（0-关闭；1-开启）
     */
    private Integer status;

    /**
     * 备注
     */
    private String remark;

    public static long getSerialVersionUID() {
        return serialVersionUID;
    }

    public Long getMerId() {
        return merId;
    }

    public void setMerId(Long merId) {
        this.merId = merId;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getClientOut() {
        return clientOut;
    }

    public void setClientOut(Integer clientOut) {
        this.clientOut = clientOut;
    }

    public Integer getWechatOut() {
        return wechatOut;
    }

    public void setWechatOut(Integer wechatOut) {
        this.wechatOut = wechatOut;
    }

    public Integer getWechatDead() {
        return wechatDead;
    }

    public void setWechatDead(Integer wechatDead) {
        this.wechatDead = wechatDead;
    }

    public String getRuleInfo() {
        return ruleInfo;
    }

    public void setRuleInfo(String ruleInfo) {
        this.ruleInfo = ruleInfo;
    }

    public Integer getSilentPeriod() {
        return silentPeriod;
    }

    public void setSilentPeriod(Integer silentPeriod) {
        this.silentPeriod = silentPeriod;
    }

    public String getStartTime() {
        return startTime;
    }

    public void setStartTime(String startTime) {
        this.startTime = startTime;
    }

    public String getEndTime() {
        return endTime;
    }

    public void setEndTime(String endTime) {
        this.endTime = endTime;
    }

    public String getAlarmContacterIds() {
        return alarmContacterIds;
    }

    public void setAlarmContacterIds(String alarmContacterIds) {
        this.alarmContacterIds = alarmContacterIds;
    }

    public Integer getAlarmTypeMessage() {
        if (alarmTypeMessage == null) {
            alarmTypeMessage = 0;
        }
        return alarmTypeMessage;
    }

    public void setAlarmTypeMessage(Integer alarmTypeMessage) {
        this.alarmTypeMessage = alarmTypeMessage;
    }

    public Integer getAlarmTypeMail() {
        if (alarmTypeMail == null) {
            alarmTypeMail = 0;
        }
        return alarmTypeMail;
    }

    public void setAlarmTypeMail(Integer alarmTypeMail) {
        this.alarmTypeMail = alarmTypeMail;
    }

    public Integer getAlarmTypeWxpub() {
        if (alarmTypeWxpub == null) {
            alarmTypeWxpub = 0;
        }
        return alarmTypeWxpub;
    }

    public void setAlarmTypeWxpub(Integer alarmTypeWxpub) {
        this.alarmTypeWxpub = alarmTypeWxpub;
    }

    public Integer getAlarmTypeDingding() {
        if (alarmTypeDingding == null) {
            alarmTypeDingding = 0;
        }
        return alarmTypeDingding;
    }

    public void setAlarmTypeDingding(Integer alarmTypeDingding) {
        this.alarmTypeDingding = alarmTypeDingding;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Integer getAlarmTypeDingdingAll() {
        return alarmTypeDingdingAll;
    }

    public void setAlarmTypeDingdingAll(Integer alarmTypeDingdingAll) {
        this.alarmTypeDingdingAll = alarmTypeDingdingAll;
    }

    public Integer getProductExpired() {
        return productExpired;
    }

    public void setProductExpired(Integer productExpired) {
        this.productExpired = productExpired;
    }

    public Integer getMobileBattery() {
        return mobileBattery;
    }

    public void setMobileBattery(Integer mobileBattery) {
        this.mobileBattery = mobileBattery;
    }

    public Integer getProductExpiredTime() {
        return productExpiredTime;
    }

    public void setProductExpiredTime(Integer productExpiredTime) {
        this.productExpiredTime = productExpiredTime;
    }

    public String getDeviceType() {
        return deviceType;
    }

    public void setDeviceType(String deviceType) {
        this.deviceType = deviceType;
    }

    public Integer getMobileBatteryEnergy() {
        return mobileBatteryEnergy;
    }

    public void setMobileBatteryEnergy(Integer mobileBatteryEnergy) {
        this.mobileBatteryEnergy = mobileBatteryEnergy;
    }
}
